package com.SpringAOP.test_1_31_springaop.proxy;

public class HouseProxy implements HouseSubject{
    // 代理(中介, 帮房东出租房⼦)
    // 静态代理


    // 但是真正要实现的时候还是房东要实现的

    // 接下来创建代理对象
    private HouseSubject houseSubject; // 这个是 目标对象 也叫被代理对象

    // 实现构造方法
    public HouseProxy(HouseSubject houseSubject) {
        this.houseSubject = houseSubject;
    }

    // 这是中介要做的事情, 也要实现卖房子的接口
    // 租房子
    @Override
    public void rentHouse() {
        System.out.println("开始代理");
        houseSubject.rentHouse();
        System.out.println("结束代理");
    }


    // 卖房子
    @Override
    public void saleHouse() {
        System.out.println("开始代理");
        houseSubject.saleHouse();
        System.out.println("结束代理");
    }


}
